package com.rc.saas.tenant.model.member;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rc.saas.tenant.base.BaseModel;
import java.math.BigDecimal;
import java.util.Date;

public class RcMemberLevelSetting extends BaseModel {
    @ExcelProperty(value = "子等级",index = 1)
    private String levelSub;
    @ExcelProperty(value = "等级名称",index = 0)
    private String memberLevel;

    @ExcelIgnore
    private String levelName;

    @ExcelProperty(value = "会员标识",index = 3)
    private String levelLogo;

    @ExcelProperty(value = "充值金额",index = 4)
    private BigDecimal rechargeAmountTarget;

    @ExcelProperty(value = "消费金额",index = 5)
    private BigDecimal chargingAmountTarget;

    @ExcelProperty(value = "消费次数",index = 6)
    private Integer chargingCountTarget;

    @ExcelProperty(value = "周期",index = 2,converter = MemberLevelCycleTypeConverter.class)
    private String cycleType;
    @ExcelIgnore
    private Date beginTime;
    @ExcelIgnore
    private Date endTime;
    @ExcelIgnore
    private Integer sort;
    @ExcelIgnore
    private String remark;
    @ExcelIgnore
    private String status;
    @ExcelIgnore
    private String createdBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "创建时间",index = 7)
    private Date createdTime;
    @ExcelIgnore
    private String lastUpdatedBy;
    @ExcelIgnore
    private Date lastUpdatedTime;

    @ExcelIgnore
    private BigDecimal rechargeAmount;

    @ExcelIgnore
    private BigDecimal discountAmount;

    public BigDecimal getRechargeAmount() {
        return rechargeAmount;
    }

    public void setRechargeAmount(BigDecimal rechargeAmount) {
        this.rechargeAmount = rechargeAmount;
    }

    public BigDecimal getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(BigDecimal discountAmount) {
        this.discountAmount = discountAmount;
    }

    public String getLevelSub() {
        return levelSub;
    }

    public void setLevelSub(String levelSub) {
        this.levelSub = levelSub;
    }

    public String getMemberLevel() {
        return memberLevel;
    }

    public void setMemberLevel(String memberLevel) {
        this.memberLevel = memberLevel;
    }

    public String getLevelName() {
        return levelName;
    }

    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }

    public String getLevelLogo() {
        return levelLogo;
    }

    public void setLevelLogo(String levelLogo) {
        this.levelLogo = levelLogo;
    }

    public BigDecimal getRechargeAmountTarget() {
        return rechargeAmountTarget;
    }

    public void setRechargeAmountTarget(BigDecimal rechargeAmountTarget) {
        this.rechargeAmountTarget = rechargeAmountTarget;
    }

    public BigDecimal getChargingAmountTarget() {
        return chargingAmountTarget;
    }

    public void setChargingAmountTarget(BigDecimal chargingAmountTarget) {
        this.chargingAmountTarget = chargingAmountTarget;
    }

    public Integer getChargingCountTarget() {
        return chargingCountTarget;
    }

    public void setChargingCountTarget(Integer chargingCountTarget) {
        this.chargingCountTarget = chargingCountTarget;
    }

    public String getCycleType() {
        return cycleType;
    }

    public void setCycleType(String cycleType) {
        this.cycleType = cycleType;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }
}